﻿using System;
using System.Runtime.Serialization;
namespace UCL.Powersource
{
    [DataContract]
    public enum TimeFrameTypes
    {
        [EnumMember]
        Unknown,
        [EnumMember]
        Sprint,
        [EnumMember]
        Release,
        [EnumMember]
        Project
    }

    public interface ITimeFrame : INotifyPropertyChangedEx, ILabel
    {
        TimeFrameTypes TimeFrameType { get; }
        string SourceBranchPath { get; }
    }

    public interface ITimeFrameIteration : ITimeFrame
    {
        string NodePath { get; }
        string IterationPath { get;  }
        DateTime? StartDate { get;  }
        DateTime? FinishDate { get; }
        string GetIterationPathForProject(ITfsTeamProjectConfiguration itpc);
        
        void Merge(Microsoft.TeamFoundation.Server.NodeInfo node);
    }

    public interface ITimeFrameDateTime : ITimeFrame
    {
        DateTime? Deadline{ get; }
    }

}
